package com.ciis.system.module.service;

import com.ciis.base.page.Page;
import com.ciis.system.module.domain.ModuleMenuTree;
import com.ciis.system.module.domain.TSysModule;

import java.util.List;

/**
 * Created with IntelliJ IDEA.
 * User: zhangdajun
 * Date: 14-6-19
 * Time: 下午8:37
 * To change this template use File | Settings | File Templates.
 */
public interface ISysModuleService {
    /**
     * 保存模块信息
     * @param module
     * @throws Exception
     */
    public void save(TSysModule module) throws Exception;

    /**
     * 更新模块信息
     * @param module
     * @throws Exception
     */
    public void update(TSysModule module) throws Exception;

    /**
     * 删除模块信息
     * @param id
     * @throws Exception
     */
    public void deleteById(String id) throws Exception;

    /**
     * 获取模块信息
     * @param pager
     * @param module
     * @return
     * @throws Exception
     */
    public Page<TSysModule> findPage(Page<TSysModule> pager,TSysModule module) throws Exception;

    /**
     * 获取模块信息
     * @param pId 父Id
     * @return
     * @throws Exception
     */
    public List<TSysModule> findModuleListByPid(String pId) throws Exception;

    /**
    * 获取模块信息
    * @param id 模块Id
    * @return
    * @throws Exception
    */
    public List<TSysModule> findModuleListById(String id) throws Exception;

    /**
     * 获取模块信息
     * @param level 级别
     * @return
     * @throws Exception
     */
    public List<TSysModule> findModuleListByLevel(String level) throws Exception;

    /**
     * 获取模块树
     * @param pId
     * @return
     * @throws Exception
     */
    public ModuleMenuTree findModuleTreeByPid(String pId) throws Exception;
}
